package common

import (
	"fmt"
	"reflect"
)

const (
	ErrCodeOK = 0
)

type ErrMsg struct {
	Code int64  `json:"code"`
	Msg  string `json:"msg"`
}

var (
	errorType      = reflect.TypeOf(MyError{})
	errorZeroValue = reflect.Zero(errorType)
)

const (
	errorErrCodeIndex = 0
	errorErrMsgIndex  = 1
)

type MyError struct {
	ErrCode int64  `json:"errcode"`
	ErrMsg  string `json:"errmsg"`
}

func (err *MyError) Error() string {
	return fmt.Sprintf("errcode: %d, errmsg: %s", err.ErrCode, err.ErrMsg)
}

func NewMyError(ErrCode int64, ErrMsg string) *MyError {
	myerr := &MyError{
		ErrCode: ErrCode,
		ErrMsg:  ErrMsg,
	}
	return myerr

}

const (
	ERR_MSG_PASSWORD_NOT_CORRECT = "密码不正确"
	ERR_MSG_USER_NO_EXIST        = "不存在这个用户"
	ERR_MSG_DELETE_ACCOUNT_FAIL  = "注销用户失败"
)

/*
type myerrors struct {
	error
	ErrCode int
	ErrMsg string
}

func NewMyErrors(errcode int, msg string) error{
	err := new(myerrors)
	err.ErrCode = errcode
	err.ErrMsg = msg

	return err

}

func (this *myerrors)Error() string {
	return this.ErrMsg
}




*/
